Use Existing Semantic Model
This option presents a drop-down list of existing semantic models which can then be used to build a new model. The purpose is to allow users to build data models without having access to the underlying data source. This way, users who have restricted permissions to view certain data can still build data models.
Select an Existing Semantic Model
A user belonging to a role which has been set to view a given database's models only will not have access to the data source's tables. The "Use existing Semantic Model" option will be enabled by default, and the user will be unable to disable it.
- As usual, start by selecting the data source and database.
- From the Semantic Model drop-down, select the required model.
- The tables belonging to this model will be exposed in the Tables panel, where they can be added or removed as needed.
Model Only Permissions
Model Only permissions are set per data base by the Admin via the Database Management tools, or by the database-owner via the Data Model Manager. Users belonging to a role with this permission type cannot view the underlying data source to which the data base belongs. They can, however, view semantic models that have been built on that database, and they can use those semantic models to construct new data flows and models.
Semantic models are defined in the Data Modeling tools; they instruct Pyramid how to query the database and schema that was constructed in the Data Flow. The visibility of hierarchies, members, measures, and overlays in the semantic model is governed by the Admin at the role level via data model security, or by the model-owner via the Data Model Manager.
Thus, a user belonging to a role with Model Only permissions can build a new data model by importing tables from an existing semantic model, rather than accessing the data source. As the semantic model reflects data model security, any data that the user does not have access to view will not appear in the tables.
As the semantic model is based on the schema constructed in the data flow, any data cleansing, embellishing, and preparation defined in the current Data Flow of the selected semantic model will also be present in the tables imported from that model.
Example
In this example, the Data Flow was loaded into the IMDB, in a new database named HelpExamples02. The semantic model was then defined, and the model was processed as usual, producing a data model called HelpExamples Model.
Next, the IMDB was added to a new Data Flow as a data source, and the HelpExamples02 database was selected as the source database. The existing HelpExamples Model was then selected from the list of existing semantic models, and its tables connected to the Data Flow.